From 9c81336830b1e430b57fa6cbfee4d792dd466bda Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 18 Jul 2011 17:41:01 +0200 Subject: [PATCH] widget: Reset the accessible role when a new accessible type is set We want the role to be kept in the accessible object. Using gtk_widget_class_set_accessible_role() is only meant as a quick workaround to requiring subclassing of the accessibles in the quite common case where a subclass does not change the accessible implementation at all and only has a different role. --- gtk/gtkwidget.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c index 905a39eb6c..4f47dcdcd0 100644 --- a/gtk/gtkwidget.c +++ b/gtk/gtkwidget.c @@ -11942,6 +11942,8 @@ gtk_widget_class_set_accessible_type (GtkWidgetClass *widget_class, priv = widget_class->priv; priv->accessible_type = type; + /* reset this - honoring the type's role is better. */ + priv->accessible_role = ATK_ROLE_INVALID; } /** @@ -11951,7 +11953,8 @@ gtk_widget_class_set_accessible_type (GtkWidgetClass *widget_class, * * Sets the default #AtkRole to be set on accessibles created for * widgets of @widget_class. Accessibles may decide to not honor this - * setting if their role reporting is more refined. + * setting if their role reporting is more refined. Calls to + * gtk_widget_class_set_accessible_type() will reset this value. * * In cases where you want more fine-grained control over the role of * accessibles created for @widget_class, you should provide your own -- 2.30.2